Skip to main content

DateTime

DateTime(year, month, day)

DateTime date1 = new DateTime(2025, 12, 25); Console.WriteLine(date1.ToString()); 
// Ausgabe: 12/25/2025 12:00:00 AM

DateTime(year, month, day, hour, minute, second)

DateTime date2 = new DateTime(2022, 12, 25, 10, 30, 50); Console.WriteLine(date1.ToString());
// Ausgabe: 12/25/2022 10:30:00 AM }

Creating TimeSpan object

var duration = new TimeSpan(30, 0, 0, 0); // one month(as 30 days)  
DateTime newDate1 = DateTime.Now.Add(duration);
Console.WriteLine(newDate1);

AddYears (Months, Days, Hours, Minutes, Seconds)

DateTime today = DateTime.Now;
DateTime newDate2 = today.AddDays(3);
Console.WriteLine(newDate2);

DateTime Parse

string dateString = "Wed Dec 30, 2015";  
DateTime dateTime12 = DateTime.Parse(dateString); // 12/30/2015 12:00:00 AM

Date Difference

var date1 = new DateTime(2025, 3, 10, 2, 15, 10);  
var date2 = new DateTime(2025, 7, 15, 6, 30, 20);
var date3 = new DateTime(2025, 12, 28, 10, 45, 30);

TimeSpan diff1 = date2.Subtract(date1);
DateTime date4 = date3.Subtract(diff1);
TimeSpan diff2 = date3 - date2;
DateTime date5 = date2 - diff1;

DateTime Properties

DateTime myDate = new DateTime(2025, 12, 25, 10, 30, 45);  
int year = myDate.Year; // 2015
int month = myDate.Month; // 12
int day = myDate.Day; // 25
int hour = myDate.Hour; // 10
int minute = myDate.Minute; // 30
int second = myDate.Second; // 45

DayOfWeek

It specifies day of the week like Sunday, Monday etc. It is an enum which starts from Sunday to Saturday. If you cast the weekofday value to integer then it starts from Zero (0) for Sunday to Six (6) for Saturday.

DateTime myDate = new DateTime(2025, 12, 25, 10, 30, 45);
int weekDay = (int)myDate.DayOfWeek; // 4 (numeric value of weekday)
string weekDay2 = myDate.DayOfWeek.ToString(); // name of day (Thursday)

DateTime dt = new DateTime(2015, 12, 25);
bool isEqual = dt.DayOfWeek == DayOfWeek.Thursday); // False
bool isEqual = dt.DayOfWeek == DayOfWeek.Friday); // True

DateTime Formatting

DateTime tempDate = new DateTime(2025, 2, 24);
Console.WriteLine(tempDate.ToString("MMMM dd, yyyy"));
SpecifierDescriptionOutput
dShort Date12/8/2015
DLong DateTuesday, December 08, 2015
tShort Time3:15 PM
TLong Time3:15:19 PM
fFull date and timeTuesday, December 08, 2015 3:15 PM
FFull date and time (long)Tuesday, December 08, 2015 3:15:19 PM
gDefault date and time12/8/2015 15:15
GDefault date and time (long)12/8/2015 15:15
MDay / Month8-Dec
rRFC1123 dateTue, 08 Dec 2015 15:15:19 GMT
sSortable date/time2015-12-08T15:15:19
uUniversal time, local timezone2015-12-08 15:15:19Z
YMonth / YearDecember, 2015
ddDay8
dddShort Day NameTue
ddddFull Day NameTuesday
hh2 digit hour3
HH2 digit hour (24 hour)15
mm2 digit minute15
MMMonth12
MMMShort Month nameDec
MMMMMonth nameDecember
ssseconds19
fffmilliseconds120
FFFmilliseconds without trailing zero12
ttAM/PMPM
yy2 digit year15
yyyy4 digit year2015
:Hours, minutes, seconds separator, e.g. {0:hh:mm:ss}9:08:59
/Year, month , day separator, e.g. {0:dd/MM/yyyy}8/4/2007

Get current Time Zone

string current = TimeZone.CurrentTimeZone.StandardName;  
Console.WriteLine(current);

Get All Time Zones

foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())  
{
Console.WriteLine(z.Id);
}

Convert Date to UTC

//Convert any date from your time-zone to UTC
DateTime timeUTC = TimeZone.CurrentTimeZone.ToUniversalTime(DateTime.Now);
Console.WriteLine(timeUTC);

Get Time in specific Time Zone

TimeZoneInfo nzTimeZone = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time");  
DateTime nzTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, nzTimeZone);

Console.WriteLine($"Aktuelle Zeit in Neuseeland: {nzTime}");

Get Current Culture Name

string currentCulture = Thread.CurrentThread.CurrentCulture.DisplayName;

Get DateTime based on Culture

using System.Globalization;
DateTime currentTime = DateTime.Now;

string dateInUSA = currentTime.ToString("D", new CultureInfo("en-US"));
string dateInHindi = currentTime.ToString("D", new CultureInfo("hi-IN"));
string dateInJapan = currentTime.ToString("D", new CultureInfo("ja-JP"));

Convert Current DateTime to Different Culture

DateTime originalResult = new DateTime(2025, 01, 09);
string frenchTDate = originalResult.ToString("D", new CultureInfo("fr-FR"));

DateTime In C#